Skip to content

作品一:大屏可视化(驾驶舱)

在线体验

打开作品:大屏可视化(新标签页)

一、定位与价值

视角说明
业务经营 / 设备 / 能耗等指标 一屏统览,辅助值班与决策
交互图表 + WebSocket 推送,接近实时刷新
交付ToG / ToB 常见形态:分辨率适配(1080p~4K)、长时间无人值守展示

对应仓库目录:projects/dashboard(前端 Monorepo + NestJS API)。

二、技术架构(分层)

text
浏览器(Vue 3 + ECharts)
        ↓ HTTPS / WS
Nginx(/api-dashboard/、/socket.io/)

NestJS(大屏 API + Socket.IO)

MySQL / Redis(依业务配置)
  • REST:图表初始化、筛选条件、导出等。
  • 长连接Socket.IO,路径需与 Nginx location、前端 client path 一致,避免代理断裂。

三、技术栈(摘录)

层级技术
前端Vue 3、TypeScript、Vite、ECharts、大屏自适应布局
后端NestJS、JWT、业务模块与网关前缀 api-dashboard
实时socket.io-client@nestjs/platform-socket.io
部署Docker Compose;静态 dist 由 Nginx 挂载 /dashboard/

四、工程难点与对策(摘要)

难点对策思路
大屏分辨率不一rem/vw + 设计基准稿;图表 resize 监听
WS 断线心跳、退避重连、鉴权过期刷新 Token
首屏资源体积路由懒加载、按需引入 ECharts 组件
静态资源缓存构建带 hash;网关侧 强缓存 与 HTML 协商缓存 分离